package gameplaying;

import java.util.Arrays;
import java.util.Scanner;

public class StairCaseNim {

	public static final int MAX = 102;
	
	public int[] stones = new int[MAX];
	
	public static void main(String[] args) {
		StairCaseNim object = new StairCaseNim();
//		object.getRes();
//		object.getResII();
//		object.getResIII();
		object.getResIV();
	}
	
	//最为普通的阶梯博弈
	//只能将台阶高德移动到台阶低的，可以移动任意颗石子(>=1 && <= size)，如果没有可以移动的了，输。
	//把所有奇数阶梯看成N堆石子，做nim，把石子从奇数堆移动到偶数堆可以理解为拿走石子
	//如果是把偶数阶的移动到奇数阶呢，后者只需要把这些石子再次移动到下一个偶数阶，就可以了(最后一定是1->0,代表移出)
	//所以只需对奇数阶做Nim和运算即可
	public void getRes(){
		Scanner scanner = new Scanner(System.in);
		while(scanner.hasNext()){
			int m = scanner.nextInt();
			int sum = 0;
			for (int i = 0; i < m; i++) {
				stones[i] = scanner.nextInt(); 
				if((i & 1) != 0){
					sum ^= stones[i];
				}
			}
			//先手必败
			if(sum == 0){
				System.out.println("");
			}else{
				System.out.println("");
			}
		}
		scanner.close();
	}
	
	public static final int MAX_COINS = 1002;
	
	//POJ 1704 Runtime:266MS
	//将棋子两两相邻的设为一组，如果移动前者，后者一定可以紧贴。如果移动另一组的石子，那么后者通过紧贴
	//可以使组内石子的间距不变，所以组与组之间的间距相当于偶数台阶，组内的间距相当于奇数阶
	public void getResII(){
		int testCase;
		//a记录棋子的位置，b记录第i枚棋子和第i + 1枚棋子的间距
		int[] a = new int[MAX_COINS];
		int[] b = new int[MAX_COINS];
		Scanner scanner = new Scanner(System.in);
		testCase = scanner.nextInt();
		for (int t = 1; t <= testCase; t++) {
			int sum = 0;
			//数组b的长度为k
			int k = 0;
			int n = scanner.nextInt();
			for(int i = 0; i < n; i++){
				a[i] = scanner.nextInt();
			}
			//对棋子下标进行排序
			Arrays.sort(a, 0, n);
			//判断棋子的数目是奇数还是偶数
			if( (n & 1) == 0){
				//对于偶数，刚好两两搭配
				k = 0;
				for(int i = 1; i < n; i += 2){
					//由于每个格子只能有1个棋子，比如现在的棋子的下标为1  3，间距为2，但是可移动的间距为2 - 1
					//这就是为什么需要减1的原因
					b[k++] = a[i] - a[i - 1] - 1;
				}
			}else{
				//如果对于奇数，第一个单独为一组
				k = 1;
				b[0] = a[0] - 1;
				for(int i = 2; i < n; i += 2){
					//由于每个格子只能有1个棋子，比如现在的棋子的下标为1  3，间距为2，但是可移动的间距为2 - 1
					//这就是为什么需要减1的原因
					b[k++] = a[i] - a[i - 1] - 1;
				}
			}
			for(int i = 0; i < k; i++){
				sum ^= b[i];
			}
			if(sum != 0){
				System.out.println("Georgia will win");
			}else{
				System.out.println("Bob will win");
			}
		}
		scanner.close();
	}


	//一个棋子更简单的变形
	//HDU 1730 327MS
	public void getResIII(){
		Scanner scanner = new Scanner(System.in);
		while(scanner.hasNext()){
			int n = scanner.nextInt();
			int m = scanner.nextInt();
			int sum = 0;
			for(int i = 0; i < n; i++){
				int y1 = scanner.nextInt();
				int y2 = scanner.nextInt();
				sum ^= Math.abs(y1 - y2) - 1;
			}
			if(sum == 0){
				System.out.println("BAD LUCK!");
			}else{
				System.out.println("I WIN!");
			}
		}
		scanner.close();
	}

	
	
	//棋子可以有重合并且可以越过棋子
	//刚开始我还以为是阶梯博弈，后来一想这就是Nim博弈啊
	//Runtime: 436MS
	public void getResIV(){
		Scanner scanner = new Scanner(System.in);
		while(scanner.hasNext()){
			int m = scanner.nextInt();
			if(m == 0){
				break;
			}
			int sum = 0;
			for(int i = 0; i < m; i++){
				int cur  = scanner.nextInt();
				sum ^= cur;
			}
			if(sum == 0){
				System.out.println("Grass Win!");
			}else{
				System.out.println("Rabbit Win!");
			}
		}
		scanner.close();
	}
}
